package main

import (
	"container/ring"
	"fmt"
)

func main() {
	r := ring.New(5)
	n := r.Len()

	for i := 0; i < n; i++ {
		r.Value = i
		r = r.Next()
	}
	//Move 在环中向后 (n < 0) 或向前 (n >= 0) 移动 n % r.Len() 元素并返回该环元素。 r 不能为空。
	fmt.Println(r.Move(3).Value)
	r.Do(func(p interface{}) {
		fmt.Println(p)
	})
	//0
	//1
	//2
	//3
	//4
}
